package com.ouc.eddyAlgorithm.service.impl;


import com.ouc.common.core.text.Convert;
import com.ouc.eddyAlgorithm.domain.EddysetVg;
import com.ouc.eddyAlgorithm.mapper.EddysetVgMapper;
import com.ouc.eddyAlgorithm.service.EddysetVgService;
import org.apache.ibatis.session.ExecutorType;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * vg涡旋临时表Service业务层处理
 *
 * @author b504
 * @date 2023-02-16`
 */
@Service
public class EddysetVgServiceImpl implements EddysetVgService {

  @Autowired
  private EddysetVgMapper eddysetVgMapper;

  @Autowired
  SqlSessionFactory sqlSessionFactory;

  /**
   * 查询vg涡旋临时表
   *
   * @param id vg涡旋临时表主键
   * @return vg涡旋临时表
   */
  @Override
  public EddysetVg selectEddysetVgById(Integer id) {
    return eddysetVgMapper.selectEddysetVgById(id);
  }

  /**
   * 查询vg涡旋临时表列表
   *
   * @param eddysetVg vg涡旋临时表
   * @return vg涡旋临时表
   */
  @Override
  public List<EddysetVg> selectEddysetVgList(EddysetVg eddysetVg) {
    return eddysetVgMapper.selectEddysetVgList(eddysetVg);
  }

  /**
   * 新增vg涡旋临时表
   *
   * @param eddysetVg vg涡旋临时表
   * @return 结果
   */
  @Override
  public int insertEddysetVg(EddysetVg eddysetVg) {
    return eddysetVgMapper.insertEddysetVg(eddysetVg);
  }

  /**
   * 修改vg涡旋临时表
   *
   * @param eddysetVg vg涡旋临时表
   * @return 结果
   */
  @Override
  public int updateEddysetVg(EddysetVg eddysetVg) {
    return eddysetVgMapper.updateEddysetVg(eddysetVg);
  }

  /**
   * 批量删除vg涡旋临时表
   *
   * @param ids 需要删除的vg涡旋临时表主键
   * @return 结果
   */
  @Override
  public int deleteEddysetVgByIds(String ids) {
    return eddysetVgMapper.deleteEddysetVgByIds(Convert.toStrArray(ids));
  }

  /**
   * 删除vg涡旋临时表信息
   *
   * @param id vg涡旋临时表主键
   * @return 结果
   */
  @Override
  public int deleteEddysetVgById(Integer id) {
    return eddysetVgMapper.deleteEddysetVgById(id);
  }

  @Override
  public void truncateTable() {
    eddysetVgMapper.truncateTable();
  }

  @Override
  public void insertByBach(List<EddysetVg> eddysetVgList) {
    SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
    //	自动提交设置为false
    EddysetVgMapper mapper = sqlSession.getMapper(EddysetVgMapper.class);
    for (EddysetVg eddysetVg : eddysetVgList) {
      mapper.insertEddysetVg(eddysetVg);
    }
    sqlSession.commit();
    sqlSession.clearCache();
    sqlSession.close();
  }
}
